#pragma once

#include <list>
#include "memory_allocator.hpp"
#include "ned_pool.hpp"

namespace cpac
{

	// Custom list template.
	//--------------------------------------
	// Usage is cpac::list<int>::type int_list;
	// This container specifies a default allocator for us, but we could of course
	// pass it another one if we need to.
	template
        <
            typename _Type, 
            typename _Allocator = cpac::allocator_stl< _Type, cpac::ned_pooling_policy > 
        > 
	struct list 
	{
		typedef std::list< _Type, _Allocator > type;
	};

    /*template< class Type >
    using list = std::list< Type, cpac::CAllocatorSTL<Type, cpac::NedPoolingPolicy>>;*/
	//--------------------------------------
}
